(foreign c) 0.11.0
Portable foreign function interface for R7RS Schemes
This Snow package is federated from http://snow-fort.org/. Installation requires Akku >=0.5.0.
Original license field: N/A
These (possibly optional) dependencies are not packaged: (core), (ypsilon c-types), (ypsilon c-ffi), (stklos), (ffi vector), (ffi unsafe), (compatibility mlist), (ffi winapi), (racket base), (mosh ffi), (system foreign-library), (system foreign), (chicken random), (chicken memory), (chicken syntax), (chicken locative), (chicken foreign), (chicken base), (chibi), (chibi ast).
$ akku update $ akku install "(foreign c)" $ .akku/env
Authors
Retropikzel
License
NOASSERTION
Dependencies
^1.0.0-beta.3
Package contents
- (foreign c chibi-primitives) R7 Chibi-Scheme
- → size-of-type align-of-type shared-object-load define-c-procedure define-c-callback c-bytevector? c-bytevector-u8-ref c-bytevector-u8-set! c-bytevector-pointer-ref c-bytevector-pointer-set! c-null?
- ← (scheme base) R7
- ← (scheme write) R7
- ← (scheme char) R7
- ← (scheme file) R7
- ← (scheme process-context) R7
- ← (chibi ast) Built-in
- ← (scheme inexact) R7
- ← (chibi) Built-in
- (foreign c chicken-primitives) R7
- → size-of-type align-of-type shared-object-load define-c-procedure define-c-callback c-bytevector? c-bytevector-u8-ref c-bytevector-u8-set! c-bytevector-pointer-ref c-bytevector-pointer-set! foreign-declare foreign-safe-lambda void pointer? foreign-declare address->pointer pointer->address
- ← (scheme base) R7
- ← (scheme write) R7
- ← (scheme char) R7
- ← (scheme file) R7
- ← (scheme inexact) R7
- ← (scheme process-context) R7
- ← (chicken base)
- ← (chicken foreign)
- ← (chicken locative)
- ← (chicken syntax)
- ← (chicken memory)
- ← (chicken random)
- (foreign c guile-primitives) R7
- → size-of-type align-of-type shared-object-load define-c-procedure define-c-callback c-bytevector? c-bytevector-u8-ref c-bytevector-u8-set! c-bytevector-pointer-ref c-bytevector-pointer-set!
- ← (scheme base) R7
- ← (scheme write) R7
- ← (scheme char) R7
- ← (scheme file) R7
- ← (scheme inexact) R7
- ← (scheme process-context) R7
- ← (system foreign)
- ← (system foreign-library)
- (foreign c kawa-primitives) R7
- → size-of-type align-of-type shared-object-load define-c-procedure define-c-callback c-bytevector? c-bytevector-u8-ref c-bytevector-u8-set! c-bytevector-pointer-ref c-bytevector-pointer-set!
- ← (scheme base) R7
- ← (scheme write) R7
- ← (scheme char) R7
- ← (scheme file) R7
- ← (scheme inexact) R7
- ← (scheme process-context) R7
- (foreign c mosh-primitives) R7
- → size-of-type align-of-type shared-object-load define-c-procedure define-c-callback c-bytevector? c-bytevector-u8-ref c-bytevector-u8-set! c-bytevector-pointer-ref c-bytevector-pointer-set!
- ← (scheme base) R7
- ← (scheme write) R7
- ← (scheme char) R7
- ← (scheme file) R7
- ← (scheme inexact) R7
- ← (scheme process-context) R7
- ← (mosh ffi)
- (foreign c racket-primitives) R7
- → size-of-type align-of-type shared-object-load define-c-procedure define-c-callback c-bytevector? c-bytevector-u8-ref c-bytevector-u8-set! c-bytevector-pointer-ref c-bytevector-pointer-set! system-big-endian?
- ← (scheme base) R7
- ← (scheme write) R7
- ← (scheme char) R7
- ← (scheme file) R7
- ← (scheme inexact) R7
- ← (scheme process-context) R7
- ← (racket base)
- ← (ffi winapi)
- ← (compatibility mlist)
- ← (ffi unsafe)
- ← (ffi vector)
- (foreign c stklos-primitives) R7
- → size-of-type align-of-type define-c-procedure define-c-callback c-bytevector? c-bytevector-u8-ref c-bytevector-u8-set! c-bytevector-pointer-ref c-bytevector-pointer-set! get-environment-variable file-exists? make-external-function foreign-c:string-split void?
- ← (scheme base) R7
- ← (scheme write) R7
- ← (scheme char) R7
- ← (scheme file) R7
- ← (scheme inexact) R7
- ← (scheme process-context) R7
- ← (stklos)
- (foreign c ypsilon-primitives) R7
- → size-of-type align-of-type shared-object-load define-c-procedure define-c-callback c-bytevector? c-bytevector-u8-ref c-bytevector-u8-set! c-bytevector-pointer-ref c-bytevector-pointer-set! c-function c-callback bytevector-c-int8-set! bytevector-c-uint8-ref
- ← (scheme base) R7
- ← (scheme write) R7
- ← (scheme char) R7
- ← (scheme file) R7
- ← (scheme inexact) R7
- ← (scheme process-context) R7
- ← (ypsilon c-ffi)
- ← (ypsilon c-types)
- ← (core)
- (foreign c) R7
- → c-type-size c-type-align define-c-library define-c-procedure c-bytevector? c-bytevector-u8-set! c-bytevector-u8-ref c-bytevector-pointer-set! c-bytevector-pointer-ref define-c-callback make-c-null c-null? c-free call-with-address-of bytevector->c-bytevector c-bytevector->bytevector libc-name c-type-signed? c-type-unsigned? native-endianness make-c-bytevector c-bytevector->address c-bytevector-s8-set! c-bytevector-s8-ref c-bytevector-uchar-ref c-bytevector-char-ref c-bytevector-char-set! c-bytevector-uchar-set! c-bytevector-uint-ref c-bytevector-sint-ref c-bytevector-sint-set! c-bytevector-uint-set! c-bytevector-u16-ref c-bytevector-s16-ref c-bytevector-u16-native-ref c-bytevector-s16-native-ref c-bytevector-u16-set! c-bytevector-s16-set! c-bytevector-u16-native-set! c-bytevector-s16-native-set! c-bytevector-u32-ref c-bytevector-s32-ref c-bytevector-u32-native-ref c-bytevector-s32-native-ref c-bytevector-u32-set! c-bytevector-s32-set! c-bytevector-u32-native-set! c-bytevector-s32-native-set! c-bytevector-u64-ref c-bytevector-s64-ref c-bytevector-s64-native-ref c-bytevector-u64-native-ref c-bytevector-u64-set! c-bytevector-s64-set! c-bytevector-u64-native-set! c-bytevector-s64-native-set! c-bytevector-ieee-single-native-ref c-bytevector-ieee-single-ref c-bytevector-ieee-double-native-ref c-bytevector-ieee-double-ref c-bytevector-ieee-single-native-set! c-bytevector-ieee-single-set! c-bytevector-ieee-double-native-set! c-bytevector-ieee-double-set! string->c-utf8 c-utf8->string
- ← (scheme base) R7
- ← (scheme write) R7
- ← (scheme char) R7
- ← (scheme file) R7
- ← (scheme process-context) R7
- ← (scheme inexact) R7
- (foreign c) R7 Chibi-Scheme
- → c-type-size c-type-align define-c-library define-c-procedure c-bytevector? c-bytevector-u8-set! c-bytevector-u8-ref c-bytevector-pointer-set! c-bytevector-pointer-ref define-c-callback make-c-null c-null? c-free call-with-address-of bytevector->c-bytevector c-bytevector->bytevector libc-name c-type-signed? c-type-unsigned? native-endianness make-c-bytevector c-bytevector->address c-bytevector-s8-set! c-bytevector-s8-ref c-bytevector-uchar-ref c-bytevector-char-ref c-bytevector-char-set! c-bytevector-uchar-set! c-bytevector-uint-ref c-bytevector-sint-ref c-bytevector-sint-set! c-bytevector-uint-set! c-bytevector-u16-ref c-bytevector-s16-ref c-bytevector-u16-native-ref c-bytevector-s16-native-ref c-bytevector-u16-set! c-bytevector-s16-set! c-bytevector-u16-native-set! c-bytevector-s16-native-set! c-bytevector-u32-ref c-bytevector-s32-ref c-bytevector-u32-native-ref c-bytevector-s32-native-ref c-bytevector-u32-set! c-bytevector-s32-set! c-bytevector-u32-native-set! c-bytevector-s32-native-set! c-bytevector-u64-ref c-bytevector-s64-ref c-bytevector-s64-native-ref c-bytevector-u64-native-ref c-bytevector-u64-set! c-bytevector-s64-set! c-bytevector-u64-native-set! c-bytevector-s64-native-set! c-bytevector-ieee-single-native-ref c-bytevector-ieee-single-ref c-bytevector-ieee-double-native-ref c-bytevector-ieee-double-ref c-bytevector-ieee-single-native-set! c-bytevector-ieee-single-set! c-bytevector-ieee-double-native-set! c-bytevector-ieee-double-set! string->c-utf8 c-utf8->string
- ← (scheme base) R7
- ← (scheme write) R7
- ← (scheme char) R7
- ← (scheme file) R7
- ← (scheme process-context) R7
- ← (scheme inexact) R7
- ← (foreign c chibi-primitives)
- (foreign c) R7 CHICKEN
- → c-type-size c-type-align define-c-library define-c-procedure c-bytevector? c-bytevector-u8-set! c-bytevector-u8-ref c-bytevector-pointer-set! c-bytevector-pointer-ref define-c-callback make-c-null c-null? c-free call-with-address-of bytevector->c-bytevector c-bytevector->bytevector libc-name c-type-signed? c-type-unsigned? native-endianness make-c-bytevector c-bytevector->address c-bytevector-s8-set! c-bytevector-s8-ref c-bytevector-uchar-ref c-bytevector-char-ref c-bytevector-char-set! c-bytevector-uchar-set! c-bytevector-uint-ref c-bytevector-sint-ref c-bytevector-sint-set! c-bytevector-uint-set! c-bytevector-u16-ref c-bytevector-s16-ref c-bytevector-u16-native-ref c-bytevector-s16-native-ref c-bytevector-u16-set! c-bytevector-s16-set! c-bytevector-u16-native-set! c-bytevector-s16-native-set! c-bytevector-u32-ref c-bytevector-s32-ref c-bytevector-u32-native-ref c-bytevector-s32-native-ref c-bytevector-u32-set! c-bytevector-s32-set! c-bytevector-u32-native-set! c-bytevector-s32-native-set! c-bytevector-u64-ref c-bytevector-s64-ref c-bytevector-s64-native-ref c-bytevector-u64-native-ref c-bytevector-u64-set! c-bytevector-s64-set! c-bytevector-u64-native-set! c-bytevector-s64-native-set! c-bytevector-ieee-single-native-ref c-bytevector-ieee-single-ref c-bytevector-ieee-double-native-ref c-bytevector-ieee-double-ref c-bytevector-ieee-single-native-set! c-bytevector-ieee-single-set! c-bytevector-ieee-double-native-set! c-bytevector-ieee-double-set! string->c-utf8 c-utf8->string
- ← (scheme base) R7
- ← (scheme write) R7
- ← (scheme char) R7
- ← (scheme file) R7
- ← (scheme process-context) R7
- ← (scheme inexact) R7
- ← (foreign c chicken-primitives)
- (foreign c) R7 gauche
- → c-type-size c-type-align define-c-library define-c-procedure c-bytevector? c-bytevector-u8-set! c-bytevector-u8-ref c-bytevector-pointer-set! c-bytevector-pointer-ref define-c-callback make-c-null c-null? c-free call-with-address-of bytevector->c-bytevector c-bytevector->bytevector libc-name c-type-signed? c-type-unsigned? native-endianness make-c-bytevector c-bytevector->address c-bytevector-s8-set! c-bytevector-s8-ref c-bytevector-uchar-ref c-bytevector-char-ref c-bytevector-char-set! c-bytevector-uchar-set! c-bytevector-uint-ref c-bytevector-sint-ref c-bytevector-sint-set! c-bytevector-uint-set! c-bytevector-u16-ref c-bytevector-s16-ref c-bytevector-u16-native-ref c-bytevector-s16-native-ref c-bytevector-u16-set! c-bytevector-s16-set! c-bytevector-u16-native-set! c-bytevector-s16-native-set! c-bytevector-u32-ref c-bytevector-s32-ref c-bytevector-u32-native-ref c-bytevector-s32-native-ref c-bytevector-u32-set! c-bytevector-s32-set! c-bytevector-u32-native-set! c-bytevector-s32-native-set! c-bytevector-u64-ref c-bytevector-s64-ref c-bytevector-s64-native-ref c-bytevector-u64-native-ref c-bytevector-u64-set! c-bytevector-s64-set! c-bytevector-u64-native-set! c-bytevector-s64-native-set! c-bytevector-ieee-single-native-ref c-bytevector-ieee-single-ref c-bytevector-ieee-double-native-ref c-bytevector-ieee-double-ref c-bytevector-ieee-single-native-set! c-bytevector-ieee-single-set! c-bytevector-ieee-double-native-set! c-bytevector-ieee-double-set! string->c-utf8 c-utf8->string
- ← (scheme base) R7
- ← (scheme write) R7
- ← (scheme char) R7
- ← (scheme file) R7
- ← (scheme process-context) R7
- ← (scheme inexact) R7
- ← (foreign c gauche-primitives)
- (foreign c) R7 GNU Guile
- → c-type-size c-type-align define-c-library define-c-procedure c-bytevector? c-bytevector-u8-set! c-bytevector-u8-ref c-bytevector-pointer-set! c-bytevector-pointer-ref define-c-callback make-c-null c-null? c-free call-with-address-of bytevector->c-bytevector c-bytevector->bytevector libc-name c-type-signed? c-type-unsigned? native-endianness make-c-bytevector c-bytevector->address c-bytevector-s8-set! c-bytevector-s8-ref c-bytevector-uchar-ref c-bytevector-char-ref c-bytevector-char-set! c-bytevector-uchar-set! c-bytevector-uint-ref c-bytevector-sint-ref c-bytevector-sint-set! c-bytevector-uint-set! c-bytevector-u16-ref c-bytevector-s16-ref c-bytevector-u16-native-ref c-bytevector-s16-native-ref c-bytevector-u16-set! c-bytevector-s16-set! c-bytevector-u16-native-set! c-bytevector-s16-native-set! c-bytevector-u32-ref c-bytevector-s32-ref c-bytevector-u32-native-ref c-bytevector-s32-native-ref c-bytevector-u32-set! c-bytevector-s32-set! c-bytevector-u32-native-set! c-bytevector-s32-native-set! c-bytevector-u64-ref c-bytevector-s64-ref c-bytevector-s64-native-ref c-bytevector-u64-native-ref c-bytevector-u64-set! c-bytevector-s64-set! c-bytevector-u64-native-set! c-bytevector-s64-native-set! c-bytevector-ieee-single-native-ref c-bytevector-ieee-single-ref c-bytevector-ieee-double-native-ref c-bytevector-ieee-double-ref c-bytevector-ieee-single-native-set! c-bytevector-ieee-single-set! c-bytevector-ieee-double-native-set! c-bytevector-ieee-double-set! string->c-utf8 c-utf8->string
- ← (scheme base) R7
- ← (scheme write) R7
- ← (scheme char) R7
- ← (scheme file) R7
- ← (scheme process-context) R7
- ← (scheme inexact) R7
- ← (foreign c guile-primitives)
- ← (srfi 98) SRFI
- (foreign c) R7 Kawa
- → c-type-size c-type-align define-c-library define-c-procedure c-bytevector? c-bytevector-u8-set! c-bytevector-u8-ref c-bytevector-pointer-set! c-bytevector-pointer-ref define-c-callback make-c-null c-null? c-free call-with-address-of bytevector->c-bytevector c-bytevector->bytevector libc-name c-type-signed? c-type-unsigned? native-endianness make-c-bytevector c-bytevector->address c-bytevector-s8-set! c-bytevector-s8-ref c-bytevector-uchar-ref c-bytevector-char-ref c-bytevector-char-set! c-bytevector-uchar-set! c-bytevector-uint-ref c-bytevector-sint-ref c-bytevector-sint-set! c-bytevector-uint-set! c-bytevector-u16-ref c-bytevector-s16-ref c-bytevector-u16-native-ref c-bytevector-s16-native-ref c-bytevector-u16-set! c-bytevector-s16-set! c-bytevector-u16-native-set! c-bytevector-s16-native-set! c-bytevector-u32-ref c-bytevector-s32-ref c-bytevector-u32-native-ref c-bytevector-s32-native-ref c-bytevector-u32-set! c-bytevector-s32-set! c-bytevector-u32-native-set! c-bytevector-s32-native-set! c-bytevector-u64-ref c-bytevector-s64-ref c-bytevector-s64-native-ref c-bytevector-u64-native-ref c-bytevector-u64-set! c-bytevector-s64-set! c-bytevector-u64-native-set! c-bytevector-s64-native-set! c-bytevector-ieee-single-native-ref c-bytevector-ieee-single-ref c-bytevector-ieee-double-native-ref c-bytevector-ieee-double-ref c-bytevector-ieee-single-native-set! c-bytevector-ieee-single-set! c-bytevector-ieee-double-native-set! c-bytevector-ieee-double-set! string->c-utf8 c-utf8->string
- ← (scheme base) R7
- ← (scheme write) R7
- ← (scheme char) R7
- ← (scheme file) R7
- ← (scheme process-context) R7
- ← (scheme inexact) R7
- ← (foreign c kawa-primitives)
- (foreign c) R7 Mosh
- → c-type-size c-type-align define-c-library define-c-procedure c-bytevector? c-bytevector-u8-set! c-bytevector-u8-ref c-bytevector-pointer-set! c-bytevector-pointer-ref define-c-callback make-c-null c-null? c-free call-with-address-of bytevector->c-bytevector c-bytevector->bytevector libc-name c-type-signed? c-type-unsigned? native-endianness make-c-bytevector c-bytevector->address c-bytevector-s8-set! c-bytevector-s8-ref c-bytevector-uchar-ref c-bytevector-char-ref c-bytevector-char-set! c-bytevector-uchar-set! c-bytevector-uint-ref c-bytevector-sint-ref c-bytevector-sint-set! c-bytevector-uint-set! c-bytevector-u16-ref c-bytevector-s16-ref c-bytevector-u16-native-ref c-bytevector-s16-native-ref c-bytevector-u16-set! c-bytevector-s16-set! c-bytevector-u16-native-set! c-bytevector-s16-native-set! c-bytevector-u32-ref c-bytevector-s32-ref c-bytevector-u32-native-ref c-bytevector-s32-native-ref c-bytevector-u32-set! c-bytevector-s32-set! c-bytevector-u32-native-set! c-bytevector-s32-native-set! c-bytevector-u64-ref c-bytevector-s64-ref c-bytevector-s64-native-ref c-bytevector-u64-native-ref c-bytevector-u64-set! c-bytevector-s64-set! c-bytevector-u64-native-set! c-bytevector-s64-native-set! c-bytevector-ieee-single-native-ref c-bytevector-ieee-single-ref c-bytevector-ieee-double-native-ref c-bytevector-ieee-double-ref c-bytevector-ieee-single-native-set! c-bytevector-ieee-single-set! c-bytevector-ieee-double-native-set! c-bytevector-ieee-double-set! string->c-utf8 c-utf8->string
- ← (scheme base) R7
- ← (scheme write) R7
- ← (scheme char) R7
- ← (scheme file) R7
- ← (scheme process-context) R7
- ← (scheme inexact) R7
- ← (foreign c mosh-primitives)
- (foreign c) R7 Sagittarius
- → c-type-size c-type-align define-c-library define-c-procedure c-bytevector? c-bytevector-u8-set! c-bytevector-u8-ref c-bytevector-pointer-set! c-bytevector-pointer-ref define-c-callback make-c-null c-null? c-free call-with-address-of bytevector->c-bytevector c-bytevector->bytevector libc-name c-type-signed? c-type-unsigned? native-endianness make-c-bytevector c-bytevector->address c-bytevector-s8-set! c-bytevector-s8-ref c-bytevector-uchar-ref c-bytevector-char-ref c-bytevector-char-set! c-bytevector-uchar-set! c-bytevector-uint-ref c-bytevector-sint-ref c-bytevector-sint-set! c-bytevector-uint-set! c-bytevector-u16-ref c-bytevector-s16-ref c-bytevector-u16-native-ref c-bytevector-s16-native-ref c-bytevector-u16-set! c-bytevector-s16-set! c-bytevector-u16-native-set! c-bytevector-s16-native-set! c-bytevector-u32-ref c-bytevector-s32-ref c-bytevector-u32-native-ref c-bytevector-s32-native-ref c-bytevector-u32-set! c-bytevector-s32-set! c-bytevector-u32-native-set! c-bytevector-s32-native-set! c-bytevector-u64-ref c-bytevector-s64-ref c-bytevector-s64-native-ref c-bytevector-u64-native-ref c-bytevector-u64-set! c-bytevector-s64-set! c-bytevector-u64-native-set! c-bytevector-s64-native-set! c-bytevector-ieee-single-native-ref c-bytevector-ieee-single-ref c-bytevector-ieee-double-native-ref c-bytevector-ieee-double-ref c-bytevector-ieee-single-native-set! c-bytevector-ieee-single-set! c-bytevector-ieee-double-native-set! c-bytevector-ieee-double-set! string->c-utf8 c-utf8->string
- ← (scheme base) R7
- ← (scheme write) R7
- ← (scheme char) R7
- ← (scheme file) R7
- ← (scheme process-context) R7
- ← (scheme inexact) R7
- ← (foreign c sagittarius-primitives)
- (foreign c) R7 Ypsilon
- → c-function c-callback bytevector-c-int8-set! bytevector-c-uint8-ref c-type-size c-type-align define-c-library define-c-procedure c-bytevector? c-bytevector-u8-set! c-bytevector-u8-ref c-bytevector-pointer-set! c-bytevector-pointer-ref define-c-callback make-c-null c-null? c-free call-with-address-of bytevector->c-bytevector c-bytevector->bytevector libc-name c-type-signed? c-type-unsigned? native-endianness make-c-bytevector c-bytevector->address c-bytevector-s8-set! c-bytevector-s8-ref c-bytevector-uchar-ref c-bytevector-char-ref c-bytevector-char-set! c-bytevector-uchar-set! c-bytevector-uint-ref c-bytevector-sint-ref c-bytevector-sint-set! c-bytevector-uint-set! c-bytevector-u16-ref c-bytevector-s16-ref c-bytevector-u16-native-ref c-bytevector-s16-native-ref c-bytevector-u16-set! c-bytevector-s16-set! c-bytevector-u16-native-set! c-bytevector-s16-native-set! c-bytevector-u32-ref c-bytevector-s32-ref c-bytevector-u32-native-ref c-bytevector-s32-native-ref c-bytevector-u32-set! c-bytevector-s32-set! c-bytevector-u32-native-set! c-bytevector-s32-native-set! c-bytevector-u64-ref c-bytevector-s64-ref c-bytevector-s64-native-ref c-bytevector-u64-native-ref c-bytevector-u64-set! c-bytevector-s64-set! c-bytevector-u64-native-set! c-bytevector-s64-native-set! c-bytevector-ieee-single-native-ref c-bytevector-ieee-single-ref c-bytevector-ieee-double-native-ref c-bytevector-ieee-double-ref c-bytevector-ieee-single-native-set! c-bytevector-ieee-single-set! c-bytevector-ieee-double-native-set! c-bytevector-ieee-double-set! string->c-utf8 c-utf8->string
- ← (scheme base) R7
- ← (scheme write) R7
- ← (scheme char) R7
- ← (scheme file) R7
- ← (scheme process-context) R7
- ← (scheme inexact) R7
- ← (foreign c ypsilon-primitives)
Version history
- 2025-11-02 ~ 0.11.0
- 2025-10-30 ~ 0.10.9
- 2025-09-11 ~ 0.10.5
- 2025-08-14 ~ 0.10.2